/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */
package logic;

import gui.MainWindow;
import java.beans.PropertyChangeListener;

/**
 * 
 * Author: Jorge Garrido Oval
 * Hilo para ejecutar la lógica del AbstractPanel.
 */
public class AbsThread extends Thread {

    private int opcion;
    private String titulo;
    private MainWindow mw;
    private PropertyChangeListener pcl;

    public AbsThread(int opcion, MainWindow mw, PropertyChangeListener pcl, String titulo) {
        this.opcion = opcion;
        this.mw = mw;
        this.pcl = pcl;
        this.titulo = titulo;
    }

    /**
     * Iniciar hilo.
     * Se recoge del panel principal la categoria seleccionada y se crea
     * un nuevo panel abstracto al que se le pasa el int del nuevo panel de
     * mantenimiento seleccionado.
     */
    @Override
    public void run() {
        AbsFrameLogic afl = new AbsFrameLogic(opcion, mw, titulo);
        afl.addPropertyChangeListener(pcl);
        afl.execute();
    }
}
